package org.wangchaocheng.cloudgallery.user.gateway;

import java.util.List;

import org.wangchaocheng.cloudgallery.dto.user.UserRoleDTO;

/**
 * @author wangchaocheng
 * @date 2025-03-01 10:30:19
 */
public interface UserRoleGateway {

    /**
     * 批量保存用户角色关联
     * @param userRoleList 用户角色关联信息列表
     */
    void batchSave(List<UserRoleDTO> userRoleList);

    /**
     * 删除用户角色关联
     * @param userId 用户ID
     */
    void removeByUserId(Long userId);

    /**
     * 根据用户ID和角色ID获取用户角色关联
     * @param userId 用户ID
     * @param roleId 角色ID
     * @return {@link UserRoleDTO}
     */
    UserRoleDTO findByUserIdAndRoleId(Long userId, Long roleId);

    /**
     * 根据用户ID获取用户绑定角色列表
     * @param userId 用户ID
     * @return {@link List<UserRoleDTO>}
     */
    List<UserRoleDTO> listByUserId(Long userId);

}
